1. Field of the Invention
The present invention relates to redundant systems. More specifically, the present invention provides techniques for efficient transaction processing on a working system having a redundant system.
2. Background
To provide high availability at a working system such as a cable network headend in a data network, redundant systems at a network node are typically used. A working system is a system in a data network configured to perform normal operations, such as, for example, routing operations, while a redundant system is a system configured to assume the duties of the working system upon failure of the working system. High availability is particularly important in data networks handling real-time flows such as voice calls. Some prior art redundant systems fail to maintain services flows upon working system failure and consequently drop voice calls between clients. One of the reasons why the redundant system can not maintain service flows upon working system failure is that the redundant system typically is not configured to store layer three and layer four information such as session, accounting, subscriber, address, and/or call state information.
The redundant system typically does not have a data structure containing the pertinent transaction information for several reasons. Information associated with a message from a particular client is referred to herein as transaction information. A redundant system can often be a passive backup without access to the actual data flows. In one example, the redundant system does not have access to the line cards until after failover occurs. Even if the redundant system could periodically request the necessary transaction information from the working system, conventional working systems do not support layer three and layer four functionality and furthermore typically do not store all transactions.
For example, conventional redundancy systems are typically not configured to store state information. In one example, CMTS units coupled to a cable network are not configured to store layer 3 and layer 4 information associated with various service flows. CMTS units have not conventionally been configured to store layer 3 and layer 4 information because of a variety of concerns including cost and compatibility with existing standards.
Working systems typically handle a very high volume of transactions. A large volume of transaction information is difficult to store in various data structures such as log files, journals, and/or databases. It is also difficult to provide the transaction information to a redundant system in a timely and efficient manner. In particular, a working system can not process a large volume of transaction information and provide the transaction information to a redundant system in real-time while processing other transactions.
Because of the inability of a working system to maintain and provide transaction information to a redundant system, a redundant system does not have the necessary information, such as state tables, to maintain service flows between clients. In one example, existing voice calls are dropped upon failure of the working system. The redundant system conventionally needs to reestablish service flows between clients upon failure of the working system. The failure to maintain service flows limits the ability to provide high availability systems in data networks.
In light of the above, it will be appreciated that it is desirable to provide techniques for efficiently managing transaction information as well as techniques for effectively providing transaction information to a redundant system to enable improved failover capabilities.